import Crawler from "crawler";

// 爬取多多影视
// http://ddyyyy.com/vodtype/27   短剧类别

//定义需要请求的地址
const resuest_url = 'http://ddyyyy.com/vodtype/27';
const data_obj = { "merchantAcct": "ddyyyy.com", "type_pid": "27" };

const c = new Crawler({
    rateLimit: 1000,
    callback: function (err, res, done) {
        if (err) {
            console.log('出现异常', err);
        } else {
            const $ = res.$;
            console.log($('title').text());
        }

        done();
    }
});

//请求之前指定代理服务器
c.on('schedule', options => {
    options.proxy = "http://127.0.0.1:7890";
})


// 请求参数通过 body 或 form 传递，示例用 JSON body
c.add({
    uri: resuest_url,
    method: 'POST',
    body: JSON.stringify(data_obj),
    headers: {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
        'Content-Type': 'application/json',
        'Host': 'ddyyyy.com',
        'Origin': 'http://ddyyyy.com',
        'Referer': resuest_url
    },
    callback: function (err, res, done) {
        if (err) {
            console.log('出现异常', err);
        } else {
            //获取响应头中 contentType
            const contentType = res.headers['content-type'] || '';
            if (contentType.includes('application/json')) {
                //json数据，需要解析
                try {
                    console.log('解析成js对象', JSON.parse(res.body.toString()));

                } catch (e) {
                    console.log('无法解析的json数据', res.body.toString());
                }

            } else {
                //输出响应文本
                console.log('响应文本', res.body.toString());
            }

        }

        done();
    }
})
